# ifndef DEF_QUESTS
# define DEF_QUESTS

# include "Source.h"

class Quests
{
	public:

	Quests();
	~Quests();

	std::map<std::string, Quest*>& getQuestsCurrent();
	std::map<std::string, Quest*>& getQuestsDone();

	void init( World*, Hero*, const std::string&);
	void updateWorld();

	void activeQuest( const std::string&);
	void nextStepQuest( const std::string&);
	void completeQuest( const std::string&);

	bool isCurrentEmpty();
	bool isDoneEmpty();

	Quest* findQuest( const std::string&);
	
	private:

	World* myWorld;
	Hero* myHero;

	std::string myLua;

	std::map<std::string, std::string*> myQuestsOpen;
	std::map<std::string, Quest*> myQuestsCurrent;
	std::map<std::string, Quest*> myQuestsDone;
};

# endif